#ifndef SIP_SESSIONBASE_HPP__
#define SIP_SESSIONBASE_HPP__

#include "WTSXSipService/SipWTSXServiceItf.hpp"
#include "WTResipDll/SipWTResipDllItf.hpp"

#include <stdint.h>

namespace wtsxsip{

class CSipSessionMgr;

class CSipSessionBase
{
public:
    CSipSessionBase(CSipSessionMgr& mgr, uint32_t id);

    virtual ~CSipSessionBase();

    virtual const uint32_t getID() const;

    //virtual bool setID(uint32_t sID);

    virtual bool destroy();

protected:

    virtual bool messageDress(wtsip::CSipMessage& msg) = 0;

    virtual bool onDestroy() = 0;

protected:

    CSipSessionMgr& m_manager;

    //SUri m_RemoteUri;

    //SUri m_LocalUri;

    //std::list<CSipSessionHandle*> m_handleList;

    uint32_t m_id;

};




}//namespace


#endif

